草庐IT

c++ - CRT 和 WIN32 API

全部标签

c - 为什么这个 C 程序在 Windows 上编译时显示不同的输出?

现在,我正在ProjectEuler.net上做一些问题,这是我为问题#4编写的代码:#include#include#include#include#include#include#includeintisPalindrome(intnum){intlength=floor(log10(abs(num)))+1;intindex=0;intfirstChar,lastChar;while(index99;x--){for(y=999;y>99;y--){if(isPalindrome(x*y)&&x*y>result){result=x*y;printf("Foundpalindro

c - 获取 CPU 型号名称、供应商 ID、Windows C 中的物理处理器数量

我看到了this主题,但我没有提供我需要的所有信息。是否有任何可移植的方式(仅限所有Windows的可移植)来获取cpu型号名称、供应商ID和物理处理器的数量? 最佳答案 您提供的链接适用于Windows的移动版本,因此如果您所说的可移植版本也指桌面版本,那么GetSystemInfo可用于(如所述)Window2000及更高版本的所有版本。如果您需要比这更旧的版本,那么您应该给出一些限制。 关于c-获取CPU型号名称、供应商ID、WindowsC中的物理处理器数量,我们在StackOv

windows - 如何在没有 regsvr32 的情况下注册 glut32.dll?

请告诉我如何在没有regsvr32的情况下注册glut32.dll,因为我已经尝试了所有方法来注册.DLL但它不起作用。这是否表明我使用的是Windows864位? 最佳答案 您不需要注册glut32.dll。只需将它放在您的exe文件附近即可。 关于windows-如何在没有regsvr32的情况下注册glut32.dll?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/192

windows - mingw32-make 启动失败

每当我尝试从cmd运行mingw32-make时,我都会看到这个对话框:我已经尝试重新安装mingw32-make(相同版本和之前的版本),但问题仍然存在。无论向mingw32-make提供任何参数或输入,也不管当前目录中是否有Makefile,都会发生此错误。查了一下错误,好像是mingw32-make依赖的dll有问题。我尝试在mingw32-make.exe上运行DependencyWalker,看起来它所依赖的几乎所有DLL(~140个单独的文件)都是64位的,而应用程序本身是32位的。这是MinGW安装程序中的错误吗?有没有一种简单的方法可以解决它,而不是为其依赖的所有DLL

windows - CSingleLock 实现在 Windows 7 上工作正常,但在 Win XP 上以死锁结束

我尝试用自己的CSingleLock替换MFC的CSingleLock实现,但现在我在WindowsXP上遇到了一个死锁,我在Windows7上没有,而且我在任何一个操作系统上都没有MFC的CSingleLock,除了查看每个在我的应用程序中锁定和解锁,我的实现中缺少什么:classCCriticalSection{CRITICAL_SECTIONm_cs;public:CCriticalSection(){InitializeCriticalSection(&m_cs);}~CCriticalSection(){DeleteCriticalSection(&m_cs);}voidLo

windows - 用于检查 Win8 或 iOS 的条件语句

我正在为多种设备编写一个HTML5/JavaScript应用程序,但在为Win8和iOS编写它时出现问题。由于Win8的严格安全性,我需要在名为execUnsafeLocalFunction.的WinJS函数中包装某些函数,特别是那些将HTML或div注入(inject)窗口的函数当我在iOS上运行同一个应用程序时,它无法运行这些功能,因为WinJS不存在。我如何创建一个条件语句来检查运行该应用程序的设备是Win8设备还是iOS?这样我就可以告诉它运行functionfoo或functionbar。 最佳答案 JavaScript目

c - Windows 上的 gcc 生成垃圾? Windows 与 Linux

我想找出为什么在Windows中对同一程序的指令比在Linux中多得多。所以我只用了inta=0xbeef;和printf("test\n");在C中并在Linux和Windows中编译。当我调试和反汇编主机时,我得到了这个:在Linux上:0x080483e4:push%ebp0x080483e5:mov%esp,%ebp0x080483e7:and$0xfffffff0,%esp0x080483ea:sub$0x20,%esp0x080483ed:movl$0xbeef,0x1c(%esp)0x080483f5:movl$0x80484d0,(%esp)0x080483fc:cal

c++ - Windows API 中是否有类似于 POSIX 上的 ftruncate 的函数?

我正在使用CreateFile从WindowsAPI函数打开一个文件。现在此函数返回一个HANDLE对象,我们可以在该对象上进一步使用Read或Write或任何归档操作。我找到了SetEndOfFile它谈论截断文件,但它没有文件大小的参数。最后,_chsize函数不接受HANDLE对象。有解决办法吗? 最佳答案 使用SetFilePointer或SetFilePointerEx将当前位置设置为您想要的大小,然后调用SetEndOfFile。 关于c++-WindowsAPI中是否有类似

c - RegQueryValueEx()读取REG_DWORD时总是在*lpData中填0

我对RegQueryValueEx()函数有疑问当我使用它时,它用0填充*lpDataLONGWINAPIRegQueryValueEx(_In_HKEYhKey,_In_opt_LPCTSTRlpValueName,_Reserved_LPDWORDlpReserved,_Out_opt_LPDWORDlpType,_Out_opt_LPBYTElpData,_Inout_opt_LPDWORDlpcbData);这是不起作用的代码#include#includeintmain(){HKEYhKey=NULL;DWORDdata=42;DWORDtype=REG_DWORD;DWOR

c# - 如何仅通过 Win32 API 实现 .NET Process.Exited 事件

在C#上,很容易检测到特定进程ID是否已退出。Processp=Process.GetProcessById(pid);p.Exited+=newEventHandler(OnExited);如果只用Win32API写出与此相同的操作,我该怎么办? 最佳答案 您执行此操作的方式与.NETProcess类执行此操作的方式完全相同。使用RegisterWaitForSingleObject()在进程句柄上。当句柄收到信号(即进程完成)或可选超时到期时,您的回调将运行。请记住,与.NET一样,回调在theadpool线程上运行,因此需要适